#ifndef __OBF_H__
#define __OBF_H__

/* -- INCLUDES  ------------------------------------------------------------ */

/* -- DEFINES -------------------------------------------------------------- */
#define DEBUGME

#ifdef DEBUGME
	#define DEBUG(format, ...)	do {										\
									printf(format, __VA_ARGS__);			\
								} while(0)
	#define ERROR(format, ...)	do {										\
									fprintf(stderr, format, __VA_ARGS__);	\
								} while(0)
	#define PERROR(pstr)		do {										\
									perror(pstr);							\
								} while(0)
#else
	#define DEBUG(format, ...)	do {} while(0)
	#define ERROR(format, ...)	do {} while(0)
	#define PERROR(pstr)		do {} while(0)
#endif


#define FFATAL(format, ...)		do {										\
									ERROR(format, __VA_ARGS__);				\
									exit(EXIT_FAILURE);						\
								} while(0)

#define PFATAL(msg)				do {										\
									PERROR(msg);							\
									exit(EXIT_FAILURE);						\
								} while(0)

#define FATAL(msg)				do {										\
									fprintf(stderr, "%s", msg);				\
									exit(EXIT_FAILURE);						\
								} while(0)

#define DEFAULT_PROG_NAME	"Obf"
#define DEFAULT_FUZZ_DIR	"./fuzzfiles"
#define DEFAULT_RATIO		0.001
#define MAX_RATIO			10.0
#define MAX_COUNT			10000
#define FILENAME_SIZE		512
#define FILENAME_FRMT		"%s/%05u.%s"
#define MAX_BYTE			255

								
/* -- TYPES ---------------------------------------------------------------- */


#endif /* __OBF_H__ */
